var webpack = require('webpack');
var path = require('path');
module.exports = {
    devtool: 'eval-source-map',//生成Source Maps,这里选择eval-source-map
    mode: 'production',//'development',
    entry: ['webpack/hot/dev-server', path.resolve(__dirname + '/app/main.js')],//唯一入口文件,__dirname是node.js中的一个全局变量，它指向当前执行脚本所在的目录
    //entry: __dirname + "/app/main.js",//唯一入口文件，就像Java中的main方法
    output: {//输出目录
        path: path.resolve(__dirname) + "/build",//打包后的js文件存放的地方
        filename: "bundle.js"//打包后的js文件名
    },
    module: {    //loaders加载器
        rules: [
            {
                test:  /\.js$/,
                exclude: /node_modules/,
                loader: "babel-loader",
                options: {
                    presets: ["react","es2015","stage-0"]
                }
            },

            {
                test:/\.css$/, //配置.css后戳的解析
                loader: 'style-loader!css-loader'
                // loader: ExtractTextPlugin.extract(
                //     "style-loader", "css-loader?modules"
                // )
                //loader:  ExtractTextPlugin.extract("style-loader", "css-loader!less-loader")
                //use: [ 'style-loader', 'css-loader' ]
            },
            {
                test:/\.(png|jpg)$/, //配置静态文件解析
                loader:"url-loader?limit=8192"
            }
        ]
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin()//热模块替换插件
    ],
    //webpack-dev-server配置
    devServer: {
        historyApiFallback: true,//在开发单页应用时非常有用，它依赖于HTML5 history API，如果设置为true，所有的跳转将指向index.html
        inline: true,//设置为true，当源文件改变时会自动刷新页面
        port: 8081,//设置默认监听端口，如果省略，默认为"8080"
    }
};
